1. Technical Field
Exemplary embodiments of the invention relate to encoding and decoding technologies, and more particularly to methods of encoding and decoding multi-bit level data.
2. Discussion of Related Art
An error-correcting code (ECC) or forward error correction (FEC) code is a code in which each data signal conforms to specific rules of construction such that departures from that construction in the received signal can be automatically detected and corrected. Error-correcting codes are used in computer data storage, for example in semiconductor memory devices, and in data transmission of communication systems. The error-correcting code may be encoded along with data (or symbols) to be sent to a receiving device. The encoded data may then be decoded by the receiving device to separate the data from the error-correcting code and the error-correcting code can be used to verify that the data was received without errors.
In a parity scheme, the encoded data may be a combination of parity bits and information bits and data errors may reduced by decoding of the encoded data. For example, in memory cells of multi-bit flash memory devices, data errors may be reduced by using data encoded with the error-correcting codes. However, use of parity bits reduces the number of bits that can be used to store information in each cell. This reduction in the number of information bits for each cell reduces the amount of information that may be stored in the flash memory device.
Thus, there is a need for methods of encoding data with error correction and decoding the data that increase the amount of information stored by the encoded data.